LEVEL MAPPING

A. locate the level's map data

  1. LOAD LEVEL BYTE

    example: 0x10 (Mario's Pad)



  2. CALCULATE LAYOUT POINTER: (byte * 0x12) + 1D0040

    example: (0x10 * 0x12) + 0x1D0040 = 1D0160





  3. CALCULATE MAP POINTER: (byte 1 * 0x0F) + 1D2440

    example: (0x06 * 0x0F) + 1D2440 = 1D249A





B. determine the level's graphic sets

  1. DEFINE GRAPHIC SETS





  2. CALCULATE COMPRESSED GRAPHICS POINTER: use "difference method" for trans-bank location


    the final difference is added to the current bank, where the sum is the location of the compressed graphics pointer





the grasslands BG layer 1 tileset

C. determine the level's tilesets

  1. DEFINE TILESETS





  2. CALCULATE TILESET POINTER


The tileset organization tutorial explains how the tiles in a tileset are defined.


D. determine the level's tilemaps

  1. DEFINE TILEMAPS





  2. CALCULATE TILEMAP POINTER


Mario's Pad BG layer 1 tilemap